package com.bytezreo.abstractTest;

/**
 * 
 * @Description    关于抽象类匿名子类
 * @author Bytezero·zhenglei!        Email:420498246@qq.com
 * @version
 * @date 上午8:10:06
 * @
 *
 */
public class PersonTest {

	public static void main(String[] args) {
		
		method(new Student());  //匿名对象
		System.out.println("*************");
		
		Worker worker = new Worker();
		
		method1(worker); //非匿名的类   非匿名的对象
		
		method1(new Worker()); // 非匿名的类 匿名的对象
		
		System.out.println("**********************************");
		
		//创建了 匿名类的对象：P1   Person的子类
		Person p1 = new Person() {

			@Override
			public void eat() {
				// TODO Auto-generated method stub
				System.out.println("吃东西------抽象重写");
				
			}

			@Override
			public void breath() {
				// TODO Auto-generated method stub
				System.out.println("呼吸-----抽象重写");
				
			}
			
//			
//			public void walk()
//			{
//				System.out.println("人走路------抽象重写");
//			}
//			
			
		
			
		};
		
		method1(p1);
		System.out.println("**********************************");
		
		//创建匿名子类的匿名对象
		method1(new Person() {

			@Override
			public void eat() {
				// TODO Auto-generated method stub
				System.out.println("吃东西---创建匿名子类的匿名对象");
				
			}

			@Override
			public void breath() {
				// TODO Auto-generated method stub
				System.out.println("呼吸---创建匿名子类的匿名对象");
				
			}
			
			
			
		});
		
	}
	
	public static void method1(Person p) {
		
		p.eat();
		p.walk();
		p.breath();
	}
	
	
	public static void method(Student s) {
		
	}
}




class Worker extends Person{

	@Override
	public void eat() {
		
		
	}

	@Override
	public void breath() {
		
		
	}
	
}